package com.itgacl.magic4j.modules.alipay.service;

import com.alipay.api.response.AlipaySystemOauthTokenResponse;
import com.alipay.api.response.AlipayUserInfoShareResponse;

/**
 * @author 徐达沛
 * @version 1.0
 * @description: 支付宝开放平台服务接口
 * @date 2021/9/9 13:31
 */
public interface AlipayService {

    /**
     * 获取支付宝开放平台OauthToken
     * @param code 授权码，用户对应用授权后得到。本参数在 grant_type 为 authorization_code 时必填
     * @return AlipaySystemOauthTokenResponse
     */
    AlipaySystemOauthTokenResponse getOauthToken(String code);

    /**
     * 获取支付宝会员授权信息
     * @param accessToken 访问token
     * @return AlipayUserInfoShareResponse
     */
    AlipayUserInfoShareResponse getAlipayUserInfo(String accessToken);

    /**
     * 构建授权登录URL
     * @param redirectUri
     * @param scope
     * @param state
     * @return
     */
    String buildAuthorizationUrl(String redirectUri, String scope, String state);
}
